██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Chmod
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbgchmod (abbreviazione dalla mwbwlingua inglese di mwcamwcqchange mwcgmode, mwcwcambio modalità) è un mwdacomando dei mwdqsistemi operativi mwdgUnix e mwdwUnix-like, e più in generale dei sistemi mweaPOSIXcite-ref-1[1], che è utilizzato per modificare i mwfqpermessi di accesso di mwfgfile e mwfwdirectorycite-ref-2[2]. È anche usato per cambiare alcuni flag che identificano modalità speciali come mwhamwhqsetuid, mwhgmwhwsetgid e lo mwiamwiqsticky bit. L'invocazione di mwigchmod per cambiare i permessi risente del filtro applicato da mwiwumask.
mwjqchmod è anche il nome di una mwjgchiamata di sistema, definita dallo standard mwjwPOSIXcite-ref-3[3], che modifica i permessi di un file o directory. Di fatto il comando mwlachmod opera invocando l'omonima chiamata di sistema. Il comando è apparso per la prima volta nella prima versione mwlqUnix di mwlgAT&T ed è presente nei sistemi operativi Unix e mwlwUnix-like.
Contents
• Sintassi
• Esempi
• Modalità
• Note
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Sintassi
La sintassi generale di mwmwchmod è la seguente:
mwnqchmod [mwngopzioni] [--] mwnwmodalità mwoafile1 [mwoqfile2 ...]
Il parametro mwowmodalità indica le modifiche da applicare ai permessi.
Il doppio trattino mwpq-- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
Alcune opzioni di solito implementate sono:
• mwqq-R Ricorsivo, cioè include gli oggetti delle sottodirectory.
• mwqw-v verboso, mostra i cambiamenti effettuati agli oggetti (gli oggetti non modificati non vengono mostrati).
Collegamenti simbolici
I mwrgcollegamenti simbolici non hanno mai permessi propri, essendo solo riferimenti per nome ad un altro file, e a tutti gli effetti si può considerare che abbiano i permessi del file o della directory a cui si riferiscono.
Esempi
Rappresentazione simbolica
• mwuqchmod "u=rwx","g=rx","o=x" nomeFile
• mwuwchmod "o=+rx" nomefile
• mwvqchmod "u=+rwx","go=-" nomefile
• mwvwchmod "u=+rwS","go=-" nomefile
Per il significato di mwwqS vedi anche mwwggli altri permessi Unix.
Rappresentazione ottale
Nella rappresentazione ottale ogni cifra indica i permessi per i differenti utenti.
• mwxwchmod UGO nomefile
La cifra U rappresenta il livello di permessi per l'utente, G il livello di permessi del gruppo e O il livello di permessi generale
La tabella seguente indica il significato dei singoli valori
| Valore binario ( rwx ) | Valore decimale | Permessi |
|---|---|---|
| 111 | 7 | lettura, scrittura ed esecuzione |
| 110 | 6 | lettura e scrittura |
| 101 | 5 | lettura ed esecuzione |
| 100 | 4 | solo lettura |
| 011 | 3 | scrittura ed esecuzione |
| 010 | 2 | solo scrittura |
| 001 | 1 | solo esecuzione |
| 000 | 0 | nessuno |
Esempi:
• mwjachmod 734 nomefile
assegna tutti i permessi all'utente, scrittura ed esecuzione per il gruppo e solo lettura per tutti gli altri.
• mwkachmod 777 nomefile
assegna tutti i permessi all'utente corrente, al suo gruppo ed anche a tutti gli altri.
• mwlachmod -R 777 nomedirectory
come il precedente ma riguarda una directory e tutti i file esistenti all'interno della stessa.
Modalità
La modalità è una stringa che indica come impostare o modificare i mwnapermessi dei file e delle directory specificate. Può essere espressa come numero ottale, o in forma simbolica.
Modalità numerica ottale
È un mwoanumero composto da una a quattro cifre ottali (ad es mwoq640 o mwog4755), secondo la mwowrappresentazione ottale dei permessi, che indica direttamente i permessi da attribuire al file senza tener conto di quelli già presenti.
Ad esempio un permesso 755 imposta lettura, scrittura ed esecuzione (7) per il proprietario (prima cifra), e lettura ed esecuzione (i due 5) per gruppo (seconda cifra) ed altri (terza cifra).
Modalità simbolica
È una serie di uno o più valori testuali separati da virgola.
Ogni valore è a sua volta composto di tre parti:
• una prima parte composta da zero o più lettere che selezionano le classi (proprietario, gruppo, altri) per cui si vuole modificare il permesso:
• mwrqu – seleziona la classe relativa al proprietario
• mwrwg – seleziona la classe relativa al gruppo
• mwsqo – seleziona la classe relativa agli altri utenti
• nessuna lettera o mwswa – seleziona tutte le classi
• una seconda parte composta da un singolo carattere che indica se i permessi dovranno essere aggiunti, rimossi o impostati per le classi selezionate:
• mwtw+ – aggiunge permessi specificati alle classi selezionate; non rimuove permessi già concessi ma non specificati
• mwuq= – imposta i permessi specificati nelle classi selezionate; rimuove eventuali permessi già concessi ma non specificati
• mwuw- – rimuove i permessi specificati dalle classi selezionate
• una terza parte composta da zero o più lettere (es. mwvqr, mwvgw, mwvwx, mwwas, mwwqt) secondo la mwwgrappresentazione simbolica dei permessi che indicano i permessi da aggiungere, rimuovere o impostare.
Esempi di modalità espresse in maniera simbolica sono "mwxaugo=rwx", "mwxqu=rwx,go=r", "mwxg+x".
Esempi di modalità
• mwyg0755 – imposta lettura, scrittura ed esecuzione per il proprietario, e lettura ed esecuzione per gruppo ed altri (comune per le directory e per i file eseguibili);
• mwza0700 – imposta lettura, scrittura ed esecuzione per il proprietario, nessun permesso per il gruppo e per gli altri (comune per le directory private);
• mwzg0600 – imposta lettura e scrittura per il proprietario, e nessun permesso per il gruppo e per gli altri (comune per file di dati personali);
• mw0a0640 – imposta lettura e scrittura per il proprietario, solo lettura per il gruppo e nessun permesso per gli altri (comune per file di dati da condividere);
• mw0g+r – aggiunge il permesso di lettura per il proprietario, per il gruppo e per gli altri. Non rimuove altri permessi già presenti;
• mw1a-x – rimuove il permesso di esecuzione a proprietario, gruppo e altri. Non rimuove altri permessi già presenti;
• mw1gu=rx – imposta il permesso di lettura ed esecuzione al proprietario, rimuovendo eventuali permessi di scrittura già presenti; non altera i permessi per gli altri;
• mw2au=rx,go= – imposta il permesso di lettura ed esecuzione al proprietario, rimuovendo un eventuale permesso di scrittura già presente; rimuove tutti i permessi esistenti per il gruppo e per gli altri.
La chiamata di sistema chmod
La chiamata di sistema mw2wchmod è dichiarata nello mw3amw3qheader file mw3gsys/stat.h:
#include <sys/stat.h>
int chmod(const char *path, mode_t mode);
Il tipo mw9gmode_t è un tipo opaco (solitamente un tipo numerico intero) che rappresenta dei mw9wpermessi d'accesso.
Il parametro mw-qpath indica il nome del file o directory di cui cambiare i permessi.
Il parametro mw-wmode indica i permessi da assegnare al file o directory.
Valore di ritorno
Il valore di ritorno è mw-g0 in caso di successo. In caso di errore è mw-w-1, e la variabile mwaqamwaqeerrno indica l'errore specifico.
Note
cite-note-11. ↑ mwaqg(mwaqkmwaqoEN) mwaqsmwaqwchmod (utilities), su mwaq0The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. mwaq4URL consultato il 17 maggio 2008.
cite-note-22. ↑ I permessi sono visibilii elencando tali oggetti nel formato esteso, per esempio con il comando mwarils -lh
cite-note-33. ↑ mwary(mwarcmwargEN) mwarkmwarochmod (functions), su mwarsThe Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. mwarwURL consultato il 30 maggio 2008.
Voci correlate
• mwasaPermessi (Unix) – Descrizione dei permessi attribuibili ai file e directory
• mwasichown – Comando Unix per la modifica del proprietario di un file o di una directory
• mwasqumask – Suggerisce permessi da negare.
• mwasychgrp – Comando Unix per la modifica del gruppo assegnato a un file o a una directory
• mwasgUser identifier – Identificativo utente
• mwasoGroup identifier – Identificativo di gruppo
Altri progetti
Altri progetti
• Wikimedia Commons
• Wikimedia Commons contiene immagini o altri file su chmod
Collegamenti esterni
Comando chmod
• mwatq(EN) chmod: Change access permissions, su GNU Coreutils manual. URL consultato il 17 maggio 2007.
• mwaty(EN) chmod, su Linux Man Pages. URL consultato il 22 maggio 2008.
• mwatg(EN) chmod(1), su Solaris 10 Reference Manual Collection - man pages. URL consultato il 22 maggio 2008 (archiviato dall'url originale il 4 maggio 2008).
• mwato(EN) chmod, su FreeBSD Man Pages. URL consultato il 22 maggio 2008.
• mwatw(EN) chmod, su Mac OS X Man Pages. URL consultato il 22 maggio 2008. Supporta anche le mwat0liste di controllo degli accessi.
• mwat8(EN) mwauaNeoSmart's CHMOD-Win (applicazione gratuita che converte i comandi chmod in impostazioni interpretabili dai sistemi mwaueWindows)